package cn.unuuc.cwl.storage.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author 陈威龙
 * @date 2024/1/11 13:53
 * 十年生死两茫茫，写程序，到天亮。
 * 千行代码，Bug何处藏。
 * 纵使上线又怎样，朝令改，夕断肠。
 * 领导每天新想法，天天改，日日忙。
 * 相顾无言，惟有泪千行。
 * 每晚灯火阑珊处，程序员，加班狂。
 */

@Component
@ConfigurationProperties(prefix = "ship-ais-config")
@Data
public class ShipAisConfig {

    /**
     * redis key
     */
    private String redisKey = "ship_ais_pro";

    /**
     * mmsi-shipName 映射，存入redis中的key
     */
    private String mmsiMapperKey = "ship_ais_pro_mmsi_mapper";

    /**
     * 同一ais数据,间隔事件内忽略，默认30s
     */
    private Integer intervalTimeSeconds = 30;


    /**
     * 服务连接信息
     */
    private List<Server> servers;

    @Data
    public static class Server {

        /**
         * ip地址:192.168.0.2
         */
        private String ip;

        /**
         * port端口:8888
         */
        private Integer port;

        /**
         * 启动状态，默认开启
         */
        private Boolean enable = true;

        /**
         * 连接信息key,需要保证唯一
         */
        private String name;

    }
}
